The present invention relates to techniques for determining performance metrics for financial software and for performing an associated remedial action to address performance problems.
Businesses are increasingly relying on a wide variety of software applications to satisfy their regulatory and operational requirements. As the use of such software applications continues to grow, there is also an increasing need to determine software performance. More specifically, software performance can determine the quality of a user's experience and, thus, how likely the user is to continue using a particular application and/or to buy additional software or associated services.
However, determining software performance can be difficult. One existing technique involves aggregating the times it takes to perform specific tasks in a software product. For example, the time taken to perform a specific task may be compared to a baseline value.
Unfortunately, this technique does not determine an overall performance of the product. For example, the times associated with some tasks may decrease, while the times associated with other tasks may increase. Moreover, these increases or decreases may not be uniform for all the tasks.
Additionally, it may not be possible to solve this problem by simply averaging out the percentage differences (relative to the baseline values) for all of the tasks and using the resulting value as a metric for the overall performance of the product. In particular, percentage differences may not provide an accurate metric for changes in overall performance. For example, the time to perform a first task may increase by 20% from 0.5 s to 0.6 s, and the time to perform a second task may increase by 5.5% from 180 s to 190 s. This example suggests that the changes associated with the first task result in a more significant degradation in overall performance than the changes associated with the second task. However, the change associated with the first task results in a 0.1 s delay (which is unlikely to be noticed by a user), while the change associated with the second task results in a 10 s delay (which is more likely to be noticed by the user).
Moreover, even using absolute time differences may not provide an accurate metric for changes in overall system performance, because not all tasks are equal.